Exploiting In-Kernel Data Paths to Improve I/O Throughput and CPU Availability
نویسندگان
چکیده
We present the motivation, design, implementation, and performance evaluation of a UNIX kernel mechanism capable of establishing fast in-kernel data pathways between I/O objects. A new system call, splice() moves data asynchronously and without user-process intervention to and from I/O objects specified by file descriptors. Performance measurements indicate improved I/O throughput and increased CPU availability attributable to data copying and context switch overhead.
منابع مشابه
Efficient Large-scale data movement on the Grid - Augmenting the Kangaroo approach
Kangaroo is a wide-area data movement system that provides high-throughput data movement by overlapping CPU and I/O[1,2]. Though Kangaroo is a persistent data mover, network and/or disk failures can reduce data availability, because Kangaroo can't route the data around failures. We demonstrate that by using multiple paths to the destination, we can improve availability without significant overh...
متن کاملCompetitive Prefetching for Data-Intensive Online Servers
In a disk I/O-intensive online server, sequential data accesses of one application instance can be frequently interrupted by other concurrent processes. Although aggressive I/O prefetching can improve the granularity of sequential data access, it must control the I/O bandwidth wasted on prefetching unneeded data. In this paper, we propose a competitive prefetching strategy that balances the ove...
متن کامل1 An Efficient Zero - Copy I / O Framework for UNIX ®
Traditional UNIX® I/O interfaces are based on copy semantics, where read and write calls transfer data between the kernel and user-defined buffers. Although simple, copy semantics limit the ability of the operating system to efficiently implement data transfer operations. In this paper, we present extensions on the traditional UNIX interfaces that are based on explicit buffer exchange. Instead ...
متن کاملAn Efficient Zero-Copy I/O Framework for UNIX
Traditional UNIX I/O interfaces are based on copy semantics, where read and write calls transfer data between the kernel and user-defined buffers. Although simple, copy semantics limit the ability of the operating system to efficiently implement data transfer operations. In this paper, we present extensions to the traditional UNIX interfaces that are based on explicit buffer exchange. Instead o...
متن کاملvPipe: One Pipe to Connect Them All!
Many enterprises use the cloud to host applications such as web services, big data analytics and storage. One common characteristic among these applications is that, they involve significant I/O activities, moving data from a source to a sink, often without even any intermediate processing. However, cloud environments tend to be virtualized in nature with tenants obtaining virtual machines (VMs...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993